
# # 使用ngxinx作为生产服务器还需要创建对应的配置文件nginx.conf，才能使用
# # 第一阶段：使用 Node.js 构建应用
# FROM node:22-alpine as build

# # 设置工作目录
# WORKDIR /app

# # 复制 package.json 和 package-lock.json
# COPY package*.json ./

# # 安装依赖
# RUN npm install

# # 复制所有源文件
# COPY . .

# # 构建应用
# RUN npm run build

# # 第二阶段：使用 Nginx 作为生产服务器
# FROM nginx:alpine

# # 从构建阶段复制构建产物
# COPY --from=build /app/build /usr/share/nginx/html

# # 复制自定义 Nginx 配置（如果没有，使用默认配置）
# COPY nginx.conf /etc/nginx/conf.d/default.conf

# # 暴露端口
# EXPOSE 87

# 启动 Nginx（使用 daemon off 确保容器不会退出）
# CMD ["nginx", "-g", "daemon off;"]
# 第一阶段：使用 Node.js 构建应用
# FROM node:22-alpine as build

# # 设置工作目录
# WORKDIR /app

# # 复制 package.json 和 package-lock.json
# COPY package*.json ./

# # 安装依赖
# RUN npm install

# # 复制整个项目（确保包含 src 目录）
# COPY . .

# # 构建应用
# RUN npm run build

# # 第二阶段：使用 Nginx 作为生产服务器
# FROM nginx:alpine

# # 从构建阶段复制构建产物
# COPY --from=build /app/build /usr/share/nginx/html

# # 复制自定义 Nginx 配置
# COPY nginx.conf /etc/nginx/conf.d/default.conf

# # 暴露端口
# EXPOSE 87

# # 启动 Nginx
# CMD ["nginx", "-g", "daemon off;"]
FROM node:22-alpine as build

WORKDIR /app

COPY package*.json ./
RUN npm install

COPY . .
RUN npm run build -- --public-url .  

# 第二阶段：使用 Nginx
FROM nginx:alpine

COPY --from=build /app/build /usr/share/nginx/html
COPY nginx.conf /etc/nginx/conf.d/default.conf 

EXPOSE 89
CMD ["nginx", "-g", "daemon off;"]
